#!/bin/bash
source ./postgresql_config.sh

# 初始化PostgreSQL
echo_fun 1 以用户"${PSQL_USER}"的身份初始化PostgreSQL

# 初始化数据库
echo_fun 2 初始化数据库
psql -U ${PSQL_USER} -d postgres -f ${SERVER_SQL}/init.sql >> ${SERVER_SQL}/sql.out
echo_fun 4 初始化完成

# 修改用户密码
echo_fun 2 修改${PSQL_USER}的数据库登录密码
psql -U ${PSQL_USER} -d us_db -c "alter user ${PSQL_USER} with password '${PSQL_PASS}';"
echo_fun 4 修改${PSQL_USER}的数据库登录密码完成

# 安装扩展
echo_fun 2 安装数据库扩展

echo_fun 2 安装uuid-ossp
psql -U ${PSQL_USER} -d us_db -c "create extension \"uuid-ossp\";" >> ${SERVER_SQL}/sql.out
echo_fun 4 安装完成

echo_fun 2 安装redis_fdw
echo_fun 2 进入${TOOLS_PATH}
cd ${TOOLS_PATH}
if [ ! -d ${TOOLS_PATH}'/hiredis' ];then
echo_fun 2 没有hiredis仓库,前往https://github.com/redis/hiredis.git克隆仓库
git clone https://github.com/redis/hiredis.git
fi
echo_fun 2 进入${TOOLS_PATH}/hiredis
cd ${TOOLS_PATH}/hiredis
make clean && make && make install

echo_fun 2 进入${TOOLS_PATH}
cd ${TOOLS_PATH}
if [ ! -d ${TOOLS_PATH}'/redis_fdw' ];then
echo_fun 2 没有redis_fdw仓库,前往https://github.com/pg-redis-fdw/redis_fdw.git克隆仓库
git clone https://github.com/pg-redis-fdw/redis_fdw.git
echo_fun 2 进入${TOOLS_PATH}/redis_fdw
cd ${TOOLS_PATH}/redis_fdw
echo_fun 2 切换到REL_11_STABLE分支
git checkout REL_11_STABLE
echo_fun 4 切换到REL_11_STABLE分支完成

${SEDI} -e $'34 i\\\n'"PG_CFLAGS ?= -I\/usr\/local\/include
" Makefile
${SEDI} -e $'35 i\\\n'"PG_LDFLAGS ?= -L\/usr\/local\/lib
" Makefile
fi # [ ! -d ${TOOLS_PATH}'/redis_fdw' ]

echo_fun 2 进入${TOOLS_PATH}/redis_fdw
cd ${TOOLS_PATH}/redis_fdw
export PATH=${POSTGRESQL_INSTALL_PATH}/bin:$PATH
make clean && make USE_PGXS=1 && make USE_PGXS=1 install
psql -U ${PSQL_USER} -d us_db -c "create extension \"redis_fdw\";" >> ${SERVER_SQL}/sql.out
echo_fun 2 安装redis_fdw完成
echo_fun 2 安装数据库扩展完成

# 创建表
echo_fun 2 初始化数据库的基本结构
psql -U ${PSQL_USER} -d us_db -f ${SERVER_SQL}/base.sql >> ${SERVER_SQL}/sql.out
psql -U ${PSQL_USER} -d us_db -f ${SERVER_SQL}/character.sql >> ${SERVER_SQL}/sql.out
psql -U ${PSQL_USER} -d us_db -f ${SERVER_SQL}/player.sql >> ${SERVER_SQL}/sql.out
psql -U ${PSQL_USER} -d us_db -f ${SERVER_SQL}/account.sql >> ${SERVER_SQL}/sql.out
echo_fun 4 初始化数据库的基本结构完成


echo_fun 2 初始化数据库完成,重启服务器
pg_ctl -D ${POSTGRESQL_DATABASE_PATH} restart
